Restarted .venv (Python 3.10.7)
In [ ]:
# Import necessary libraries
import numpy as np
from reservoirpy import nodes, datasets, observables
import reservoirpy as rpy
rpy.verbosity(0)
#rpy.set_seed(42)
import hierarchical_genomes as hg
import networkx as nx
import matplotlib.pyplot as plt
import copy
import random
# Import functions from helper file
from expt_helper_functions import create_initial_genome, select_best_genomes, reproduce, log_generation_results, analyze_results,mae,mse,calculate_diversity_score, should_increase_timestep,visualize_genome
# Set up the main parameters
population_size = 100 #50
n_generations = 200 #100
mutation_probability = 0.1
insertion_probability = 0.1
# Define the number of input and output nodes for your neural network
num_input_nodes = 10
num_output_nodes = 10
# Load the Mackey-Glass dataset with specified timesteps
n_timesteps = 2000
X = datasets.mackey_glass(n_timesteps=n_timesteps, sample_len=2000)
train_end = int(len(X) * 0.7)
test_start = train_end + 1
# Automatic timestep calculation
train_split = 0.5
train_timesteps = int(train_split * n_timesteps)
test_timesteps = train_timesteps + 1
elitism_factor = 0.1 # Assuming you want to carry over 10% of the population
num_elites = int(elitism_factor * population_size)
# Initialize your population
genome_population = [create_initial_genome() for _ in range(population_size)]
# Define a fitness evaluation function
def evaluate_fitness(genome):
# Convert genome to neural network (function from your thesis code)
weight_matrix = hg.transcribe_hierarchical_genome_to_weight_matrix(genome)
# Setup the Echo State Network
esn = nodes.Reservoir(W=weight_matrix) >> nodes.Ridge(ridge=1e-6)
# Train and forecast using the ESN
#forecast = esn.fit(X[:500], X[1:501]).run(X[503:])
# Calculate fitness (e.g., using RMSE)
#fitness_score = observables.rmse(forecast, X[503:])
# Train and forecast using the ESN
forecast = esn.fit(X[:train_end], X[1:train_end+1]).run(X[test_start:])
# Calculate fitness (using RMSE and MAE)
fitness_rmse = observables.rmse(forecast, X[test_start:])
fitness_mae = mae(forecast, X[test_start:])
fitness_mse = mse(forecast, X[test_start:])
return {'rmse': fitness_rmse, 'mae': fitness_mae, 'mse': fitness_mse}
#return fitness_score
# Track best fitness score per generation
best_fitness_scores = []
# Initialize arrays to store the best RMSE and MAE scores
best_rmse_scores = []
best_mae_scores = []
best_mse_scores = []
previous_best_score = float('inf')
# Early stopping parameters
stagnation_threshold = 10 # Number of generations without improvement
stagnation_counter = 0 # Counter for stagnation
diversity_scores = []
# Timesteps
initial_timestep = 1000 # Define an initial value for the timestep
current_timestep = initial_timestep # Define an initial timestep
timestep_increment = 10 # Define how much to increase timesteps each time
stagnation_threshold = 10 # Number of generations to consider for stagnation
increment_interval = 5 # Check for stagnation every 5 generations
# Evolutionary loop
for generation in range(n_generations):
# Load and preprocess data with current timestep
#X = datasets.mackey_glass(current_timestep, sample_len=1000)
fitness_scores = [evaluate_fitness(genome) for genome in genome_population]
#generation_best_score = min(fitness_scores, key=lambda x: x['rmse'])['rmse']
#best_fitness_scores.append(generation_best_score)
best_rmse = min(fitness_scores, key=lambda x: x['rmse'])['rmse']
best_mae = min(fitness_scores, key=lambda x: x['mae'])['mae']
best_mse = min(fitness_scores, key=lambda x: x['mse'])['mse']
# Check for early stopping if the best score doesn't improve
# if best_rmse >= previous_best_score:
# stagnation_counter += 1
# else:
# stagnation_counter = 0
# previous_best_score = best_rmse
# if stagnation_counter >= 10: # stop if no improvement in 10 generations
# print(f"Early stopping at generation {generation} due to lack of improvement.")
# break
# Early stopping logic
# if fitness_scores and fitness_scores[0]['rmse'] < previous_best_score:
# previous_best_score = fitness_scores[0]['rmse']
# stagnation_counter = 0
# else:
# stagnation_counter += 1
# if stagnation_counter >= stagnation_threshold:
# print(f"\nEarly stopping at generation {generation} due to lack of improvement.")
# break
# Logic to increase timestep
# if should_increase_timestep(generation, best_fitness_scores, stagnation_threshold, increment_interval):
# current_timestep += timestep_increment
# print(f"Increasing timestep to {current_timestep}")
if should_increase_timestep(generation, best_fitness_scores, 10, 5):
n_timesteps += 100 # Increase complexity
X = datasets.mackey_glass(n_timesteps=n_timesteps, sample_len=n_timesteps)
train_end = int(len(X) * 0.7)
test_start = train_end + 1
best_rmse_scores.append(best_rmse)
best_mae_scores.append(best_mae)
best_mse_scores.append(best_mse)
#best_fitness_scores.append(best_rmse)
#print(f"Generation {generation}: Best Fitness Score: {generation_best_score}")
selected_genomes = select_best_genomes(genome_population, fitness_scores)
# Instead of visualize_genome(selected_genomes), use:
best_genome = select_best_genomes(genome_population, fitness_scores, 1)[0] # Get the best genome
visualize_genome(best_genome) # Visualize the best genome
# Calculate and record the population's genetic diversity for this generation
current_diversity_score = calculate_diversity_score(genome_population)
diversity_scores.append(current_diversity_score)
print(f"Generation {generation}: Diversity Score: {current_diversity_score}")
# Update the call to 'reproduce' to include node counts
#new_population = reproduce(selected_genomes, population_size, mutation_probability, num_input_nodes, num_output_nodes, num_elites)
#genome_population = new_population
genome_population = reproduce(selected_genomes, population_size, mutation_probability, num_input_nodes, num_output_nodes, num_elites)
# Select a genome for visualization
genome_for_visualization = copy.deepcopy(random.choice(genome_population))
visualize_genome(genome_for_visualization) # Visualize before mutation
# Mutate and visualize
mutated_genome = reproduce([genome_for_visualization], 1, mutation_probability, num_input_nodes, num_output_nodes, 0)[0]
visualize_genome(mutated_genome) # Visualize after mutation
# Correct file path for logging
#log_path = "/Users/chaitravshetty/Downloads/Advanced-Genomes-for-Evolutionary-Computing-main 3/hierarchical_genomes/evolution_log.txt"
log_path = "evolution_log.txt"
log_generation_results(generation, selected_genomes, fitness_scores, log_file=log_path)
# Perform post-experiment analysis with the correct file path
#analyze_log_path = "/Users/chaitravshetty/Downloads/Advanced-Genomes-for-Evolutionary-Computing-main 3/hierarchical_genomes/evolution_log.txt"
analyze_log_path = "evolution_log.txt"
analyze_results(log_file=analyze_log_path, best_rmse_scores=best_rmse_scores, best_mae_scores=best_mae_scores, best_mse_scores=best_mse_scores)
Generation 0: Diversity Score: 358.41474747474746
Generation 1: Diversity Score: 359.1
Generation 2: Diversity Score: 359.1
Generation 3: Diversity Score: 359.1
Generation 4: Diversity Score: 359.1
Generation 5: Diversity Score: 359.1
Generation 6: Diversity Score: 359.1
Generation 7: Diversity Score: 359.1
Generation 8: Diversity Score: 359.1
Generation 9: Diversity Score: 359.1
Generation 10: Diversity Score: 359.1
Generation 11: Diversity Score: 359.1
Generation 12: Diversity Score: 359.1
Generation 13: Diversity Score: 359.1
Generation 14: Diversity Score: 359.1
Generation 15: Diversity Score: 359.1
Generation 16: Diversity Score: 359.1
Generation 17: Diversity Score: 359.1
Generation 18: Diversity Score: 359.1
Generation 19: Diversity Score: 359.1
Generation 20: Diversity Score: 359.1
Generation 21: Diversity Score: 359.1
Generation 22: Diversity Score: 359.1
Generation 23: Diversity Score: 359.1
Generation 24: Diversity Score: 359.1
Generation 25: Diversity Score: 359.1
Generation 26: Diversity Score: 359.1
Generation 27: Diversity Score: 359.1
Generation 28: Diversity Score: 359.1
Generation 29: Diversity Score: 359.1
Generation 30: Diversity Score: 359.1
Generation 31: Diversity Score: 359.1
Generation 32: Diversity Score: 359.1
Generation 33: Diversity Score: 359.1
Generation 34: Diversity Score: 359.1
Generation 35: Diversity Score: 359.1
Generation 36: Diversity Score: 359.1
Generation 37: Diversity Score: 359.1
Generation 38: Diversity Score: 359.1
Generation 39: Diversity Score: 359.1
Generation 40: Diversity Score: 359.1
Generation 41: Diversity Score: 359.1
Generation 42: Diversity Score: 359.1
Generation 43: Diversity Score: 359.1
Generation 44: Diversity Score: 359.1
Generation 45: Diversity Score: 359.1
Generation 46: Diversity Score: 359.1
Generation 47: Diversity Score: 359.1
Generation 48: Diversity Score: 359.1
Generation 49: Diversity Score: 359.1
Generation 50: Diversity Score: 359.1
Generation 51: Diversity Score: 359.1
Generation 52: Diversity Score: 359.1
Generation 53: Diversity Score: 359.1
Generation 54: Diversity Score: 359.1
Generation 55: Diversity Score: 359.1
Generation 56: Diversity Score: 359.1
Generation 57: Diversity Score: 359.1
Generation 58: Diversity Score: 359.1
Generation 59: Diversity Score: 359.1
Generation 60: Diversity Score: 359.1
Generation 61: Diversity Score: 359.1
Generation 62: Diversity Score: 359.1
Generation 63: Diversity Score: 359.1
Generation 64: Diversity Score: 359.1
Generation 65: Diversity Score: 359.1
Generation 66: Diversity Score: 359.1
Generation 67: Diversity Score: 359.1
Generation 68: Diversity Score: 359.1
Generation 69: Diversity Score: 359.1
Generation 70: Diversity Score: 359.1
Generation 71: Diversity Score: 359.1
Generation 72: Diversity Score: 359.1
Generation 73: Diversity Score: 359.1
Generation 74: Diversity Score: 359.1
Generation 75: Diversity Score: 359.1
Generation 76: Diversity Score: 359.1
Generation 77: Diversity Score: 359.1
Generation 78: Diversity Score: 359.1
Generation 79: Diversity Score: 359.1
Generation 80: Diversity Score: 359.1
Generation 81: Diversity Score: 359.1
Generation 82: Diversity Score: 359.1
Generation 83: Diversity Score: 359.1
Generation 84: Diversity Score: 359.1
Generation 85: Diversity Score: 359.1
Generation 86: Diversity Score: 359.1
Generation 87: Diversity Score: 359.1
Generation 88: Diversity Score: 359.1
Generation 89: Diversity Score: 359.1
Generation 90: Diversity Score: 359.1
Generation 91: Diversity Score: 359.1
Generation 92: Diversity Score: 359.1
Generation 93: Diversity Score: 359.1
Generation 94: Diversity Score: 359.1
Generation 95: Diversity Score: 359.1
Generation 96: Diversity Score: 359.1
Generation 97: Diversity Score: 359.1
Generation 98: Diversity Score: 359.1
Generation 99: Diversity Score: 359.1
Generation 100: Diversity Score: 359.1
Generation 101: Diversity Score: 359.1
Generation 102: Diversity Score: 359.1
Generation 103: Diversity Score: 359.1
Generation 104: Diversity Score: 359.1
Generation 105: Diversity Score: 359.1
Generation 106: Diversity Score: 359.1
Generation 107: Diversity Score: 359.1
Generation 108: Diversity Score: 359.1
Generation 109: Diversity Score: 359.1
Generation 110: Diversity Score: 359.1
Generation 111: Diversity Score: 359.1
Generation 112: Diversity Score: 359.1
Generation 113: Diversity Score: 359.1
Generation 114: Diversity Score: 359.1
Generation 115: Diversity Score: 359.1
Generation 116: Diversity Score: 359.1
Generation 117: Diversity Score: 359.1
Generation 118: Diversity Score: 359.1
Generation 119: Diversity Score: 359.1
Generation 120: Diversity Score: 359.1
Generation 121: Diversity Score: 359.1
Generation 122: Diversity Score: 359.1
Generation 123: Diversity Score: 359.1
Generation 124: Diversity Score: 359.1
Generation 125: Diversity Score: 359.1
Generation 126: Diversity Score: 359.1
Generation 127: Diversity Score: 359.1
Generation 128: Diversity Score: 359.1
Generation 129: Diversity Score: 359.1
Generation 130: Diversity Score: 359.1
Generation 131: Diversity Score: 359.1
Generation 132: Diversity Score: 359.1
Generation 133: Diversity Score: 359.1
Generation 134: Diversity Score: 359.1
Generation 135: Diversity Score: 359.1
Generation 136: Diversity Score: 359.1
Generation 137: Diversity Score: 359.1
Generation 138: Diversity Score: 359.1
Generation 139: Diversity Score: 359.1
Generation 140: Diversity Score: 359.1
Generation 141: Diversity Score: 359.1
Generation 142: Diversity Score: 359.1
Generation 143: Diversity Score: 359.1
Generation 144: Diversity Score: 359.1
Generation 145: Diversity Score: 359.1
Generation 146: Diversity Score: 359.1
Generation 147: Diversity Score: 359.1
Generation 148: Diversity Score: 359.1
Generation 149: Diversity Score: 359.1
Generation 150: Diversity Score: 359.1
Generation 151: Diversity Score: 359.1
Generation 152: Diversity Score: 359.1
Generation 153: Diversity Score: 359.1
Generation 154: Diversity Score: 359.1
Generation 155: Diversity Score: 359.1
Generation 156: Diversity Score: 359.1
Generation 157: Diversity Score: 359.1
Generation 158: Diversity Score: 359.1
Generation 159: Diversity Score: 359.1
Generation 160: Diversity Score: 359.1
Generation 161: Diversity Score: 359.1
Generation 162: Diversity Score: 359.1
Generation 163: Diversity Score: 359.1
Generation 164: Diversity Score: 359.1
Generation 165: Diversity Score: 359.1
Generation 166: Diversity Score: 359.1
Generation 167: Diversity Score: 359.1
Generation 168: Diversity Score: 359.1
Generation 169: Diversity Score: 359.1
Generation 170: Diversity Score: 359.1
Generation 171: Diversity Score: 359.1
Generation 172: Diversity Score: 359.1
Generation 173: Diversity Score: 359.1
Generation 174: Diversity Score: 359.1
Generation 175: Diversity Score: 359.1
Generation 176: Diversity Score: 359.1
Generation 177: Diversity Score: 359.1
Generation 178: Diversity Score: 359.1
Generation 179: Diversity Score: 359.1
Generation 180: Diversity Score: 359.1
Generation 181: Diversity Score: 359.1
Generation 182: Diversity Score: 359.1
Generation 183: Diversity Score: 359.1
Generation 184: Diversity Score: 359.1
Generation 185: Diversity Score: 359.1
Generation 186: Diversity Score: 359.1
Generation 187: Diversity Score: 359.1
Generation 188: Diversity Score: 359.1
Generation 189: Diversity Score: 359.1
Generation 190: Diversity Score: 359.1
Generation 191: Diversity Score: 359.1
Generation 192: Diversity Score: 359.1
Generation 193: Diversity Score: 359.1
Generation 194: Diversity Score: 359.1
Generation 195: Diversity Score: 359.1
Generation 196: Diversity Score: 359.1
Generation 197: Diversity Score: 359.1
Generation 198: Diversity Score: 359.1
Generation 199: Diversity Score: 359.1
Warning: Mismatch in the number of generations and recorded scores. Generation 0: Best RMSE Score: 0.017496206231831325, Best MAE Score: 0.013712224689450585, Best MSE Score: 0.00030611723250677334 Generation 1: Best RMSE Score: 0.021784280177506162, Best MAE Score: 0.017836234134426344, Best MSE Score: 0.0004745548628520879 Generation 2: Best RMSE Score: 0.03190870471600451, Best MAE Score: 0.023706781003198573, Best MSE Score: 0.0010181654366531682 Generation 3: Best RMSE Score: 0.03174889168988026, Best MAE Score: 0.025416818488396175, Best MSE Score: 0.001007992123535748 Generation 4: Best RMSE Score: 0.030993594338142735, Best MAE Score: 0.025083878798836123, Best MSE Score: 0.0009606028899973534 Generation 5: Best RMSE Score: 0.031157420080098377, Best MAE Score: 0.025820402698414128, Best MSE Score: 0.0009707848260477177 Generation 6: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 7: Best RMSE Score: 0.02612623151503054, Best MAE Score: 0.020740722273927138, Best MSE Score: 0.0006825799731769749 Generation 8: Best RMSE Score: 0.029321954954388347, Best MAE Score: 0.02421404104059166, Best MSE Score: 0.0008597770423471793 Generation 9: Best RMSE Score: 0.032221716148385066, Best MAE Score: 0.02581764390623409, Best MSE Score: 0.0010382389915470991 Generation 10: Best RMSE Score: 0.030097188433486265, Best MAE Score: 0.024855846043803097, Best MSE Score: 0.0009058407516007794 Generation 11: Best RMSE Score: 0.031457104514868675, Best MAE Score: 0.023515049416036566, Best MSE Score: 0.0009895494244593712 Generation 12: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 13: Best RMSE Score: 0.02084818535589564, Best MAE Score: 0.01531412874021662, Best MSE Score: 0.0004346468326337815 Generation 14: Best RMSE Score: 0.017427311101490185, Best MAE Score: 0.014132643109486134, Best MSE Score: 0.000303711172228123 Generation 15: Best RMSE Score: 0.02612623151503054, Best MAE Score: 0.020740722273927138, Best MSE Score: 0.0006825799731769749 Generation 16: Best RMSE Score: 0.016000645416969824, Best MAE Score: 0.0128806016067599, Best MSE Score: 0.0002560206537595975 Generation 17: Best RMSE Score: 0.025433833436375838, Best MAE Score: 0.020268100695958094, Best MSE Score: 0.0006468798832693096 Generation 18: Best RMSE Score: 0.02084818535589564, Best MAE Score: 0.01531412874021662, Best MSE Score: 0.0004346468326337815 Generation 19: Best RMSE Score: 0.023269944731229966, Best MAE Score: 0.018439761328219402, Best MSE Score: 0.0005414903277944972 Generation 20: Best RMSE Score: 0.0298856003240683, Best MAE Score: 0.024718599038945247, Best MSE Score: 0.0008931491067299514 Generation 21: Best RMSE Score: 0.02395446130642429, Best MAE Score: 0.017489474968187563, Best MSE Score: 0.0005738162164809784 Generation 22: Best RMSE Score: 0.017496206231831325, Best MAE Score: 0.013712224689450585, Best MSE Score: 0.00030611723250677334 Generation 23: Best RMSE Score: 0.03268843342277554, Best MAE Score: 0.024189861724424847, Best MSE Score: 0.0010685336796352292 Generation 24: Best RMSE Score: 0.025512031422932357, Best MAE Score: 0.021063902949390548, Best MSE Score: 0.000650863747324688 Generation 25: Best RMSE Score: 0.017427311101490185, Best MAE Score: 0.014132643109486134, Best MSE Score: 0.000303711172228123 Generation 26: Best RMSE Score: 0.017870275280811337, Best MAE Score: 0.014201913002409666, Best MSE Score: 0.0003193467386119767 Generation 27: Best RMSE Score: 0.02720436550482467, Best MAE Score: 0.021400163583513078, Best MSE Score: 0.0007400775025200944 Generation 28: Best RMSE Score: 0.03290240827593499, Best MAE Score: 0.024289713945064403, Best MSE Score: 0.0010825684703563154 Generation 29: Best RMSE Score: 0.021405406101833956, Best MAE Score: 0.015904483751940708, Best MSE Score: 0.0004581914103844304 Generation 30: Best RMSE Score: 0.021405406101833956, Best MAE Score: 0.015904483751940708, Best MSE Score: 0.0004581914103844304 Generation 31: Best RMSE Score: 0.028630742658484035, Best MAE Score: 0.02191933791714577, Best MSE Score: 0.0008197194251763375 Generation 32: Best RMSE Score: 0.010734020541386042, Best MAE Score: 0.008082674066375495, Best MSE Score: 0.00011521919698289752 Generation 33: Best RMSE Score: 0.018447359553359723, Best MAE Score: 0.014988556255610148, Best MSE Score: 0.00034030507449093225 Generation 34: Best RMSE Score: 0.03174652660068921, Best MAE Score: 0.024234532105396202, Best MSE Score: 0.0010078419512082677 Generation 35: Best RMSE Score: 0.026338611068612038, Best MAE Score: 0.018472293028984614, Best MSE Score: 0.0006937224330236125 Generation 36: Best RMSE Score: 0.03271443648582263, Best MAE Score: 0.026396474694435075, Best MSE Score: 0.0010702343545849228 Generation 37: Best RMSE Score: 0.02267964282198734, Best MAE Score: 0.018319261423418783, Best MSE Score: 0.0005143661985329219 Generation 38: Best RMSE Score: 0.030776813706400792, Best MAE Score: 0.02468930925455789, Best MSE Score: 0.0009472122619184997 Generation 39: Best RMSE Score: 0.02267964282198734, Best MAE Score: 0.018319261423418783, Best MSE Score: 0.0005143661985329219 Generation 40: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 41: Best RMSE Score: 0.026436660865397837, Best MAE Score: 0.021772370980707598, Best MSE Score: 0.0006988970377120575 Generation 42: Best RMSE Score: 0.03180867342553621, Best MAE Score: 0.02571272616491001, Best MSE Score: 0.0010117917050924139 Generation 43: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 44: Best RMSE Score: 0.033440772067974134, Best MAE Score: 0.027690712310622725, Best MSE Score: 0.001118285236502199 Generation 45: Best RMSE Score: 0.028307710763844307, Best MAE Score: 0.022498141402873196, Best MSE Score: 0.0008013264886894668 Generation 46: Best RMSE Score: 0.031166002853051596, Best MAE Score: 0.025149935647453898, Best MSE Score: 0.0009713197338364203 Generation 47: Best RMSE Score: 0.0159002821920067, Best MAE Score: 0.012886782505747225, Best MSE Score: 0.00025281897378544543 Generation 48: Best RMSE Score: 0.029167449161113114, Best MAE Score: 0.022587729697525163, Best MSE Score: 0.0008507400905661181 Generation 49: Best RMSE Score: 0.03264214727868058, Best MAE Score: 0.025136918299459826, Best MSE Score: 0.001065509778963074 Generation 50: Best RMSE Score: 0.016499062620273702, Best MAE Score: 0.01330849069847831, Best MSE Score: 0.00027221906734771294 Generation 51: Best RMSE Score: 0.03224612364001444, Best MAE Score: 0.025158849105182582, Best MSE Score: 0.0010398124898070979 Generation 52: Best RMSE Score: 0.03190916681807051, Best MAE Score: 0.024302525432598986, Best MSE Score: 0.001018194927023452 Generation 53: Best RMSE Score: 0.03130487823810859, Best MAE Score: 0.025427573262257305, Best MSE Score: 0.0009799954015028047 Generation 54: Best RMSE Score: 0.017533964895218385, Best MAE Score: 0.013852979560126412, Best MSE Score: 0.0003074399249467506 Generation 55: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 56: Best RMSE Score: 0.03289956552832327, Best MAE Score: 0.02476875173020596, Best MSE Score: 0.0010823814119524369 Generation 57: Best RMSE Score: 0.03300795339030841, Best MAE Score: 0.02505576315803871, Best MSE Score: 0.0010895249870167725 Generation 58: Best RMSE Score: 0.025704642241643014, Best MAE Score: 0.0182454772410775, Best MSE Score: 0.0006607286327708585 Generation 59: Best RMSE Score: 0.03170219974139077, Best MAE Score: 0.0245766775982233, Best MSE Score: 0.0010050294684430371 Generation 60: Best RMSE Score: 0.03344194944260754, Best MAE Score: 0.02769438210188427, Best MSE Score: 0.001118363982521919 Generation 61: Best RMSE Score: 0.028630742658484035, Best MAE Score: 0.02272939847607955, Best MSE Score: 0.0008197194251763375 Generation 62: Best RMSE Score: 0.03140889204540627, Best MAE Score: 0.02589698764188337, Best MSE Score: 0.0009865184995199853 Generation 63: Best RMSE Score: 0.016048214353408863, Best MAE Score: 0.012905919679721017, Best MSE Score: 0.00025754518393295825 Generation 64: Best RMSE Score: 0.030776813706400792, Best MAE Score: 0.02468930925455789, Best MSE Score: 0.0009472122619184997 Generation 65: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 66: Best RMSE Score: 0.021282252848334838, Best MAE Score: 0.01734470457946969, Best MSE Score: 0.0004529342863004563 Generation 67: Best RMSE Score: 0.031112238251585426, Best MAE Score: 0.024043561422503582, Best MSE Score: 0.0009679713690234153 Generation 68: Best RMSE Score: 0.025937118974059196, Best MAE Score: 0.02098528376028934, Best MSE Score: 0.0006727341406745016 Generation 69: Best RMSE Score: 0.016499062620273702, Best MAE Score: 0.01330849069847831, Best MSE Score: 0.00027221906734771294 Generation 70: Best RMSE Score: 0.017870275280811337, Best MAE Score: 0.014201913002409666, Best MSE Score: 0.0003193467386119767 Generation 71: Best RMSE Score: 0.025123433832609905, Best MAE Score: 0.020111316671959634, Best MSE Score: 0.000631186927541528 Generation 72: Best RMSE Score: 0.006801139082307318, Best MAE Score: 0.004406270131689363, Best MSE Score: 4.625549281688803e-05 Generation 73: Best RMSE Score: 0.03223376576475278, Best MAE Score: 0.024538636682055803, Best MSE Score: 0.0010390156553769484 Generation 74: Best RMSE Score: 0.016499062620273702, Best MAE Score: 0.01330849069847831, Best MSE Score: 0.00027221906734771294 Generation 75: Best RMSE Score: 0.033188550666685565, Best MAE Score: 0.027262929199889766, Best MSE Score: 0.0011014798953551546 Generation 76: Best RMSE Score: 0.019810934284548783, Best MAE Score: 0.016161417481907137, Best MSE Score: 0.00039247311722671044 Generation 77: Best RMSE Score: 0.03344212396951477, Best MAE Score: 0.0270961043442587, Best MSE Score: 0.0011183756555923944 Generation 78: Best RMSE Score: 0.03138545822281899, Best MAE Score: 0.025929492530930756, Best MSE Score: 0.0009850469878563163 Generation 79: Best RMSE Score: 0.023067805735692226, Best MAE Score: 0.018924799841370955, Best MSE Score: 0.0005321236614596351 Generation 80: Best RMSE Score: 0.016048214353408863, Best MAE Score: 0.012905919679721017, Best MSE Score: 0.00025754518393295825 Generation 81: Best RMSE Score: 0.03018969838496415, Best MAE Score: 0.02320770846199805, Best MSE Score: 0.0009114178885751068 Generation 82: Best RMSE Score: 0.026471170797175834, Best MAE Score: 0.020867307874828378, Best MSE Score: 0.0007007228833732547 Generation 83: Best RMSE Score: 0.028359735304363073, Best MAE Score: 0.022659047037776086, Best MSE Score: 0.0008042745865335373 Generation 84: Best RMSE Score: 0.02395446130642429, Best MAE Score: 0.017489474968187563, Best MSE Score: 0.0005738162164809784 Generation 85: Best RMSE Score: 0.02157591594005126, Best MAE Score: 0.01638630907385697, Best MSE Score: 0.00046552014865215805 Generation 86: Best RMSE Score: 0.019471950612044743, Best MAE Score: 0.015659722551809675, Best MSE Score: 0.0003791568606379097 Generation 87: Best RMSE Score: 0.025656022119086023, Best MAE Score: 0.020615298135637408, Best MSE Score: 0.0006582314709750312 Generation 88: Best RMSE Score: 0.01603165092927861, Best MAE Score: 0.012893474850274164, Best MSE Score: 0.0002570138315182397 Generation 89: Best RMSE Score: 0.017857201280221346, Best MAE Score: 0.014008522293493596, Best MSE Score: 0.00031887963756233885 Generation 90: Best RMSE Score: 0.023580095057888547, Best MAE Score: 0.01843698105795481, Best MSE Score: 0.0005560208829390599 Generation 91: Best RMSE Score: 0.02467358276067948, Best MAE Score: 0.019140596253801836, Best MSE Score: 0.0006087856862480997 Generation 92: Best RMSE Score: 0.03020996641647509, Best MAE Score: 0.022821835996305606, Best MSE Score: 0.0009126420708845526 Generation 93: Best RMSE Score: 0.023312915582228515, Best MAE Score: 0.01913370457092732, Best MSE Score: 0.0005434920329441132 Generation 94: Best RMSE Score: 0.022578428205918682, Best MAE Score: 0.01762550076674962, Best MSE Score: 0.0005097854202498243 Generation 95: Best RMSE Score: 0.03076980657389545, Best MAE Score: 0.023826254418662752, Best MSE Score: 0.0009467809965949395 Generation 96: Best RMSE Score: 0.01832318682074977, Best MAE Score: 0.014902444988600995, Best MSE Score: 0.00033573917526809804 Generation 97: Best RMSE Score: 0.028234600509527186, Best MAE Score: 0.023276734585388356, Best MSE Score: 0.0007971926659325929 Generation 98: Best RMSE Score: 0.01591051915270478, Best MAE Score: 0.012914540454520455, Best MSE Score: 0.0002531446197085857 Generation 99: Best RMSE Score: 0.023312915582228515, Best MAE Score: 0.01913370457092732, Best MSE Score: 0.0005434920329441132 Generation 0: Best RMSE Score: 0.032009094351035966, Best MAE Score: 0.02435020167677165, Best MSE Score: 0.0010245821211735226 Generation 1: Best RMSE Score: 0.030838250494780336, Best MAE Score: 0.02402967897401765, Best MSE Score: 0.0009509976935788196 Generation 2: Best RMSE Score: 0.03345475598537016, Best MAE Score: 0.027682762147185853, Best MSE Score: 0.0011192206980406606 Generation 3: Best RMSE Score: 0.03121327997075031, Best MAE Score: 0.02278886201100022, Best MSE Score: 0.0009742688465324424 Generation 4: Best RMSE Score: 0.0159002821920067, Best MAE Score: 0.012886782505747225, Best MSE Score: 0.00025281897378544543 Generation 5: Best RMSE Score: 0.028239227874143673, Best MAE Score: 0.0224237339975364, Best MSE Score: 0.000797453990927813 Generation 0: Best RMSE Score: 0.030730614524297598, Best MAE Score: 0.02278886201100022, Best MSE Score: 0.0009443706690409706 Generation 1: Best RMSE Score: 0.032119151956731824, Best MAE Score: 0.023972796118711778, Best MSE Score: 0.0010316399224196298 Generation 2: Best RMSE Score: 0.027084661482629016, Best MAE Score: 0.0210274358569286, Best MSE Score: 0.0007335788876286078 Generation 3: Best RMSE Score: 0.016757962116210886, Best MAE Score: 0.013554179134830964, Best MSE Score: 0.00028082929428835927 Generation 4: Best RMSE Score: 0.016171652745108855, Best MAE Score: 0.012966181457287899, Best MSE Score: 0.0002615223525083867 Generation 5: Best RMSE Score: 0.027202731897553383, Best MAE Score: 0.02168403675115513, Best MSE Score: 0.0007399886226901683 Generation 6: Best RMSE Score: 0.016048214353408863, Best MAE Score: 0.012905919679721017, Best MSE Score: 0.00025754518393295825 Generation 7: Best RMSE Score: 0.03345809109885373, Best MAE Score: 0.027683647218883566, Best MSE Score: 0.0011194438599791952 Generation 8: Best RMSE Score: 0.026497308860840226, Best MAE Score: 0.021825760620530436, Best MSE Score: 0.000702107376866762 Generation 9: Best RMSE Score: 0.030858031729997935, Best MAE Score: 0.024870119148787163, Best MSE Score: 0.0009522181222495592 Generation 10: Best RMSE Score: 0.018093302405531028, Best MAE Score: 0.012742593520187705, Best MSE Score: 0.00032736759193799483 Generation 11: Best RMSE Score: 0.026554799166661185, Best MAE Score: 0.021612648759387378, Best MSE Score: 0.0007051573587817096 Generation 12: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 13: Best RMSE Score: 0.028942625984668967, Best MAE Score: 0.022300954852337112, Best MSE Score: 0.0008376755988884352 Generation 14: Best RMSE Score: 0.02913890413984103, Best MAE Score: 0.022498141402873196, Best MSE Score: 0.0008490757344708448 Generation 15: Best RMSE Score: 0.0316157385227945, Best MAE Score: 0.024719732720627788, Best MSE Score: 0.0009995549223417123 Generation 16: Best RMSE Score: 0.030951091477102167, Best MAE Score: 0.02397448650042422, Best MSE Score: 0.0009579700636239464 Generation 17: Best RMSE Score: 0.02162568449322249, Best MAE Score: 0.016952985439776195, Best MSE Score: 0.0004676702298004036 Generation 18: Best RMSE Score: 0.025433833436375838, Best MAE Score: 0.020268100695958094, Best MSE Score: 0.0006468798832693096 Generation 19: Best RMSE Score: 0.0159002821920067, Best MAE Score: 0.012886782505747225, Best MSE Score: 0.00025281897378544543 Generation 20: Best RMSE Score: 0.031112238251585426, Best MAE Score: 0.024043561422503582, Best MSE Score: 0.0009679713690234153 Generation 21: Best RMSE Score: 0.03289095983848436, Best MAE Score: 0.025608487695550828, Best MSE Score: 0.0010818152390967913 Generation 22: Best RMSE Score: 0.030547178693393972, Best MAE Score: 0.024736872559099274, Best MSE Score: 0.0009331301261261426 Generation 23: Best RMSE Score: 0.03300795339030841, Best MAE Score: 0.025136918299459826, Best MSE Score: 0.0010895249870167725 Generation 24: Best RMSE Score: 0.020331759963312785, Best MAE Score: 0.016104696086476553, Best MSE Score: 0.0004133804632057687 Generation 25: Best RMSE Score: 0.030337084990302677, Best MAE Score: 0.023294839273780364, Best MSE Score: 0.000920338725708848 Generation 26: Best RMSE Score: 0.02987589853351918, Best MAE Score: 0.02412164775043786, Best MSE Score: 0.0008925693131851335 Generation 27: Best RMSE Score: 0.026471170797175834, Best MAE Score: 0.020867307874828378, Best MSE Score: 0.0007007228833732547 Generation 28: Best RMSE Score: 0.02916119190892887, Best MAE Score: 0.02309464571027458, Best MSE Score: 0.0008503751135493786 Generation 29: Best RMSE Score: 0.023067805735692226, Best MAE Score: 0.018924799841370955, Best MSE Score: 0.0005321236614596351 Generation 30: Best RMSE Score: 0.032814100569298725, Best MAE Score: 0.025587797178426748, Best MSE Score: 0.0010767651961720508 Generation 31: Best RMSE Score: 0.01389673477678972, Best MAE Score: 0.011125923250237028, Best MSE Score: 0.00019311923745643684 Generation 32: Best RMSE Score: 0.023067805735692226, Best MAE Score: 0.018924799841370955, Best MSE Score: 0.0005321236614596351 Generation 33: Best RMSE Score: 0.021405406101833956, Best MAE Score: 0.015904483751940708, Best MSE Score: 0.0004581914103844304 Generation 34: Best RMSE Score: 0.016171652745108855, Best MAE Score: 0.012966181457287899, Best MSE Score: 0.0002615223525083867 Generation 35: Best RMSE Score: 0.03140204569703236, Best MAE Score: 0.025319904094237924, Best MSE Score: 0.0009860884739585083 Generation 36: Best RMSE Score: 0.025203894846630073, Best MAE Score: 0.020725617321217124, Best MSE Score: 0.0006352363154399859 Generation 37: Best RMSE Score: 0.021030674489592765, Best MAE Score: 0.01623046815516251, Best MSE Score: 0.0004422892694872079 Generation 38: Best RMSE Score: 0.0253555244699489, Best MAE Score: 0.019267227943466345, Best MSE Score: 0.0006429026211461775 Generation 39: Best RMSE Score: 0.03153856524957369, Best MAE Score: 0.026059471206509695, Best MSE Score: 0.000994681098001617 Generation 40: Best RMSE Score: 0.030539877053714453, Best MAE Score: 0.02499462077341541, Best MSE Score: 0.0009326840904559945 Generation 41: Best RMSE Score: 0.028942625984668967, Best MAE Score: 0.022300954852337112, Best MSE Score: 0.0008376755988884352 Generation 42: Best RMSE Score: 0.03080240019539249, Best MAE Score: 0.02411342980232408, Best MSE Score: 0.0009487878577971154 Generation 43: Best RMSE Score: 0.03423582661506902, Best MAE Score: 0.02853822656751274, Best MSE Score: 0.0011720918240170684 Generation 44: Best RMSE Score: 0.021405406101833956, Best MAE Score: 0.015904483751940708, Best MSE Score: 0.0004581914103844304 Generation 45: Best RMSE Score: 0.016000645416969824, Best MAE Score: 0.0128806016067599, Best MSE Score: 0.0002560206537595975 Generation 46: Best RMSE Score: 0.032866945659616766, Best MAE Score: 0.02499462077341541, Best MSE Score: 0.0010802361169922016 Generation 47: Best RMSE Score: 0.03267187886779995, Best MAE Score: 0.024538636682055803, Best MSE Score: 0.001067451668752193 Generation 48: Best RMSE Score: 0.03283536082829574, Best MAE Score: 0.02658068870764971, Best MSE Score: 0.0010781609207243781 Generation 49: Best RMSE Score: 0.03144268210882129, Best MAE Score: 0.026163793226902442, Best MSE Score: 0.0009886422581963903 Generation 50: Best RMSE Score: 0.029916414003754773, Best MAE Score: 0.02378838865551327, Best MSE Score: 0.0008949918268440547 Generation 51: Best RMSE Score: 0.02358228622934028, Best MAE Score: 0.01836194469157611, Best MSE Score: 0.0005561242238025322 Generation 52: Best RMSE Score: 0.03339592741772114, Best MAE Score: 0.02590196709870623, Best MSE Score: 0.0011152879680896984 Generation 53: Best RMSE Score: 0.02196150842654895, Best MAE Score: 0.016469849714542243, Best MSE Score: 0.00048230785236938055 Generation 54: Best RMSE Score: 0.028630742658484035, Best MAE Score: 0.022734892956415394, Best MSE Score: 0.0008197194251763375 Generation 55: Best RMSE Score: 0.031863089996217266, Best MAE Score: 0.02412164775043786, Best MSE Score: 0.0010152565041070408 Generation 56: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 57: Best RMSE Score: 0.022241028100637848, Best MAE Score: 0.01762550076674962, Best MSE Score: 0.0004946633309733624 Generation 58: Best RMSE Score: 0.028942625984668967, Best MAE Score: 0.022300954852337112, Best MSE Score: 0.0008376755988884352 Generation 59: Best RMSE Score: 0.010734020541386042, Best MAE Score: 0.008082674066375495, Best MSE Score: 0.00011521919698289752 Generation 60: Best RMSE Score: 0.030431238812535826, Best MAE Score: 0.024564778018491815, Best MSE Score: 0.0009260602956655869 Generation 61: Best RMSE Score: 0.02711089114444567, Best MAE Score: 0.021026527270046443, Best MSE Score: 0.0007350004186459827 Generation 62: Best RMSE Score: 0.031596023201041136, Best MAE Score: 0.025247421398608565, Best MSE Score: 0.00099830868212073 Generation 63: Best RMSE Score: 0.03521686102699692, Best MAE Score: 0.026230353678271697, Best MSE Score: 0.0012402273005948144 Generation 64: Best RMSE Score: 0.027802306580526, Best MAE Score: 0.022893166914689445, Best MSE Score: 0.0007729682511975595 Generation 65: Best RMSE Score: 0.027802306580526, Best MAE Score: 0.022893166914689445, Best MSE Score: 0.0007729682511975595 Generation 66: Best RMSE Score: 0.03198912286387032, Best MAE Score: 0.0267413407645283, Best MSE Score: 0.0010233039815997907 Generation 67: Best RMSE Score: 0.03157274204367643, Best MAE Score: 0.0248375897754104, Best MSE Score: 0.0009968380401565334 Generation 68: Best RMSE Score: 0.023269944731229966, Best MAE Score: 0.018439761328219402, Best MSE Score: 0.0005414903277944972 Generation 69: Best RMSE Score: 0.023144299117044805, Best MAE Score: 0.01807910795403134, Best MSE Score: 0.000535658581619241 Generation 70: Best RMSE Score: 0.03162825250656783, Best MAE Score: 0.024189861724424847, Best MSE Score: 0.0010003463566192142 Generation 71: Best RMSE Score: 0.023144299117044805, Best MAE Score: 0.01807910795403134, Best MSE Score: 0.000535658581619241 Generation 72: Best RMSE Score: 0.017870275280811337, Best MAE Score: 0.014201913002409666, Best MSE Score: 0.0003193467386119767 Generation 73: Best RMSE Score: 0.030547178693393972, Best MAE Score: 0.024035519919690482, Best MSE Score: 0.0009331301261261426 Generation 74: Best RMSE Score: 0.03334050428103395, Best MAE Score: 0.025787764528780205, Best MSE Score: 0.0011115892257136432 Generation 75: Best RMSE Score: 0.02948523164930269, Best MAE Score: 0.022088933269332877, Best MSE Score: 0.0008693788854130409 Generation 76: Best RMSE Score: 0.029427131785246117, Best MAE Score: 0.022845477416767082, Best MSE Score: 0.0008659560851062422 Generation 77: Best RMSE Score: 0.025512031422932357, Best MAE Score: 0.021063902949390548, Best MSE Score: 0.000650863747324688 Generation 78: Best RMSE Score: 0.03255150369101816, Best MAE Score: 0.024736872559099274, Best MSE Score: 0.0010596003925463688 Generation 79: Best RMSE Score: 0.03372631258617955, Best MAE Score: 0.025274096131120975, Best MSE Score: 0.001137464160660693 Generation 80: Best RMSE Score: 0.02467358276067948, Best MAE Score: 0.019140596253801836, Best MSE Score: 0.0006087856862480997 Generation 81: Best RMSE Score: 0.03184179007015025, Best MAE Score: 0.025663387531417045, Best MSE Score: 0.0010138995948715188 Generation 82: Best RMSE Score: 0.016000645416969824, Best MAE Score: 0.0128806016067599, Best MSE Score: 0.0002560206537595975 Generation 83: Best RMSE Score: 0.006777758688748236, Best MAE Score: 0.0043902139815024, Best MSE Score: 4.5938012842902204e-05 Generation 84: Best RMSE Score: 0.0062805864862710845, Best MAE Score: 0.004080656224589872, Best MSE Score: 3.944576661153096e-05 Generation 85: Best RMSE Score: 0.032660349534015524, Best MAE Score: 0.02658368624597659, Best MSE Score: 0.001066698431684068 Generation 86: Best RMSE Score: 0.0159002821920067, Best MAE Score: 0.012886782505747225, Best MSE Score: 0.00025281897378544543 Generation 87: Best RMSE Score: 0.03020996641647509, Best MAE Score: 0.022821835996305606, Best MSE Score: 0.0009126420708845526 Generation 88: Best RMSE Score: 0.008410652285003668, Best MAE Score: 0.006206362864184288, Best MSE Score: 7.073907185923741e-05 Generation 89: Best RMSE Score: 0.031863089996217266, Best MAE Score: 0.02412164775043786, Best MSE Score: 0.0010152565041070408 Generation 90: Best RMSE Score: 0.026471170797175834, Best MAE Score: 0.020867307874828378, Best MSE Score: 0.0007007228833732547 Generation 91: Best RMSE Score: 0.03181427515177393, Best MAE Score: 0.02402826440018096, Best MSE Score: 0.0010121481034327802 Generation 92: Best RMSE Score: 0.021282252848334838, Best MAE Score: 0.01734470457946969, Best MSE Score: 0.0004529342863004563 Generation 93: Best RMSE Score: 0.014868104512711495, Best MAE Score: 0.012189790536908128, Best MSE Score: 0.0002210605318009119 Average top RMSE score: 0.02509256002512929 Average top MAE score: 0.01971620458326553 Average top MSE score: 0.0006844486699874582